home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
ab20
/
ab20_archive
/
datacomm
/
xpr
/
xprkermit-1.111.lzh
/
xprkermit.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-11-08
|
2KB
|
78 lines
#ifndef XPRKERMIT_H
#define XPRKERMIT_H 1
/*
* $Header: Work:src/xprkermit/RCS/xprkermit.h,v 1.3 91/11/09 06:55:40 swalton Exp Locker: swalton $
*/
#include "xproto.h"
/*
* The abstract data type for setting up XPR Kermit.
*/
typedef struct {
void *DataSeg; /* ADDITION--Data segment for reentrancy */
char FileName[256];
int ParityFlag,
TextFlag,
ConvertFlag,
MaxPacket,
BlockCheckType,
RetryLimit,
Timeout,
KeepFlag,
GetFlag;
} SetupVars;
/* xprkermit.c */
long XProtocolSend(struct XPR_IO *IO);
long XProtocolReceive(struct XPR_IO *IO);
long XProtocolSetup(struct XPR_IO *IO);
int SetupFromString(struct XPR_IO *IO, char *s, SetupVars *sv);
long XProtocolCleanup(struct XPR_IO *IO);
int XPRParity(struct XPR_IO *IO);
void XPRLong(struct XPR_IO *IO, long i);
void ioerr(struct XPR_IO *IO, char *msg);
#pragma regcall(SetupFromString(a0, a1, a2))
#pragma regcall(XPRParity(a0))
#pragma regcall(XPRLong(a0, d0))
#pragma regcall(ioerr(a0,a1))
/*
* The structure for XProtocolBase. Now we need to know about this.
*/
#include <exec/libraries.h>
struct XProtocolBase {
struct Library xp_Lib;
unsigned long xp_SegList;
};
/*
* Pragmas for the user-callable functions. No more stubs for me!
*/
#pragma amicall(XProtocolBase, 0x1e, XProtocolCleanup(a0))
#pragma amicall(XProtocolBase, 0x24, XProtocolSetup(a0))
#pragma amicall(XProtocolBase, 0x2a, XProtocolSend(a0))
#pragma amicall(XProtocolBase, 0x30, XProtocolReceive(a0))
/*
* Prototypes for the callbacks. We can't use amicall pragmas, sigh.
*/
long calla(long (*f)(), void *);
long calld(long (*f)(), long);
long callda(long (*f)(), long, void *);
long callaa(long (*f)(), void *, void *);
long callad(long (*f)(), void *, long);
long calladd(long (*f)(), void *, long, long);
long calldaa(long (*f)(), long, void *, void *);
long calladda(long (*f)(), void *, long, long, void *);
#endif